/*!
 * @file moduleBase.hh
 * @brief Podstawka dla modułów do silnika
 */

#ifndef __ENGINE_MODULEBASE_HH
#define __ENGINE_MODULEBASE_HH

#include <string>

/*!
 * @brief Klasa bazowa dla modułów.
 */

class moduleBase {
public:

	/*!
	 * @brief Konstruktor
	 * @return Obiekt
	 */
	moduleBase(std::string sname);

	/*!
	 * @brief Pobieranie informacji o moduleBase
	 */
	virtual std::string getInfo();

	/*!
	 * @brief Pobieranie nazwy modułu
	 * @return Nazwa modułu
	 */
	std::string getName();

	/*!
	 * @brief Inicjalizacja modułu [przydatne jeżeli moduł ma
	 * podobiekty, które poprzez pawirr:: odwołują się do rodzica]
	 */
	virtual void init();

private:
	/*!
	 * @brief Krótka nazwa [do użycia w konsoli]
	 */
	std::string name;

};

#else
class moduleBase;
#endif
